The present invention relates to file sharing systems and in particular to a peer-to-peer file sharing method and system.
In a conventional peer-to-peer (P2P) file sharing network, files are registered with their properties; e.g., file name, file type, file size, etc. Searching through the files involves identifying keywords that are relevant to the subject matter of interest and performing searches of the file properties using the keywords.
In a P2P file sharing system, a user installs client software (browser) on her local computer system; e.g., a personal computer. In use, the user specifies files to be registered on a management server using the browser. The browser reads the file properties of the specified files and registers the file properties to the management server. The browser also sends file location information (e.g., IP address of the local computer, the directory in which the file is located, etc.) to the server.
After file properties are registered with the management server, a user can send a request (by using the browser) to the management server to search the file properties using keywords provided by the user. The management server sends lists of file properties that match the keyword as search results. The user selects from the list those files it wants to download. The browser then sends a request for file location information to the management server, and the management server returns file location information to the user. The browser uses the file location information to connect to the computer system(s) that contain the files, and downloads the files directly from those computer systems.
The advantage of P2P file sharing is that the physical files are distributed across the users' local computer systems. Consequently, the storage load on the management server is greatly reduced as compared to a server/client system. Also, the files can be downloaded directory from one user computer to another (hence the term “peer-to-peer”), so the computation load and network bandwidth can be load balanced among the multiple user computer systems. For these reasons, P2P file sharing approach provides a more scalable file storage method as compared to the server/client approach.
Some P2P file sharing solutions provide a directory menu in which a user can browse and select files. This directory is created and managed at the management server by a system manager (e.g., a service provider). This directory cannot be easily modified by the user because the creation and deletion of directories and the registration and deletion of files must be performed by the system manager. As the number of files and directories increase, the burden on the system manger becomes overwhelming.
It can be appreciated then that there is a need for an improved P2P file sharing method.